<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
?>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
 <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
 <script src="<?php echo base_js();?>contextmenu.js"></script>
 <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_js();?>contextmenu.css">
 
 <script>
  $( "#show-option" ).tooltip({
      show: {
        effect: "slideDown",
        delay: 10
      }
    });
  </script> 
 <script>
     function redireccionar(elemento)
     {
         var navegador = document.getElementById("navegador-fecha");
         //var fecha=new Date(navegador.getAttribute("anio"),(parseInt(navegador.getAttribute("mes")) + 1),elemento.getAttribute("dia"));     
         //window.location.href = "<?php echo base_url();?>creserva/nuevo/" + fecha.getDate() + "/" + 
         //                       fecha.getMonth() + "/" +fecha.getFullYear() + "/" + elemento.getAttribute("hab");
         //var mee = parseInt(navegador.getAttribute("mes")) + 1;
         //window.location.href = "<?php echo base_url();?>creserva/nuevo/" + elemento.getAttribute("dia") + "/" + 
         //                       mee + "/" + navegador.getAttribute("anio") + "/" + elemento.getAttribute("hab");
         window.location.href = "<?php echo base_url();?>cauditoriaCronograma/nuevo/" + elemento.getAttribute("entidad") + "/" + elemento.getAttribute("fechaActual") ;
         
     }    
     function parseFecha(input){
        if(input != null) 
        {
            input = input.substring(0,10);
            var parts = input.split('-');
            // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
            return new Date(parts[0], parts[1]-1, parts[2]); // months are 0-based
 
        }
        return new Date('1900','0','1');
        
     }
 </script>
<script>
    function aleatorio(inferior,superior){
    numPosibilidades = superior - inferior;
    aleat = Math.random() * numPosibilidades;
    aleat = Math.floor(aleat);
    return parseInt(inferior) + aleat;
    } 

    function color_estado(estado){
            var color = new Array(" ","#3399CC","#FFFF00","#FFFF00","#009900","#009900");
            
            return color[estado];
    }

</script>
<script>
        
        function vaciar(a)
        {
        //var a=document.getElementById(a);
        while(a.hasChildNodes())
               a.removeChild(a.firstChild);     
        }
        
        function daysInMonth(humanMonth, year) {
              return new Date(year || new Date().getFullYear(), humanMonth, 0).getDate();
        }
           
           function cargarCalendario(elemento){
               var fecha=new Date(elemento.getAttribute("anio"),elemento.getAttribute("mes"),1);           
               
               var cuerpo=document.getElementById("cuerpo-cronograma");
               vaciar(cuerpo);
               var cuerpo=document.getElementById("cuerpo-calendario");
               var lista_dias = new Array("Do","Lu","Ma","Mi","Ju","Vi","Sa");
               var lista_meses = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
               vaciar(cuerpo);
                var f_dia_mes = document.createElement("tr");
                var f_dia_semana = document.createElement("tr");
                var c_dia_mes;
                var c_dia_semana;
                var fecha_temp= new Date(elemento.getAttribute("anio"),elemento.getAttribute("mes"),1);   
                var temporal =new Date(elemento.getAttribute("anio"),elemento.getAttribute("mes"),1);   
                var mes = fecha.getMonth();
                         
                //carga de la columna donde se muestran las habitaciones
                var col_audit = document.createElement("td");  
                col_audit.setAttribute("rowspan","2");
//                col_audit.setAttribute("colspan","4");
                f_dia_semana.appendChild(col_audit);
                                            
                while( mes === fecha.getMonth()){               
                    c_dia_mes = document.createElement("td");  
                    c_dia_semana = document.createElement("td"); 
                   // if(fecha.getDate() !== 1 ){
                       c_dia_mes.setAttribute("colspan","2");
                       c_dia_semana.setAttribute("colspan","2");
                  //  }
                    c_dia_mes.setAttribute("class", "rd_" + fecha.getDate());
                    c_dia_mes.style.borderTop = "none";
                    c_dia_semana.setAttribute("class", "rd_" + fecha.getDate() );
                    c_dia_semana.style.borderBottom = "none";
                    c_dia_mes.appendChild(document.createTextNode(fecha.getDate()) );
                    c_dia_semana.appendChild(document.createTextNode(lista_dias[fecha.getDay()]));
                    
                    f_dia_mes.appendChild(c_dia_mes);
                    f_dia_semana.appendChild(c_dia_semana);
                    var navegador = document.getElementById("navegador-fecha");
                    navegador.setAttribute('mes',fecha.getMonth());
                    navegador.setAttribute('anio',fecha.getFullYear());
                    navegador.innerHTML= lista_meses[fecha.getMonth()] + " del " + fecha.getFullYear();
                    fecha.setDate(fecha.getDate()+1);
                    
                }      
                cuerpo.appendChild(f_dia_semana); 
                cuerpo.appendChild(f_dia_mes);
                
                fecha_temp.setMonth(fecha_temp.getMonth()-1);
                
                document.getElementById("anterior").setAttribute("anio", fecha_temp.getFullYear());
                document.getElementById("anterior").setAttribute("mes", fecha_temp.getMonth());
                
                document.getElementById("siguiente").setAttribute("anio", fecha.getFullYear());
                document.getElementById("siguiente").setAttribute("mes", fecha.getMonth());
                   
                      
                     
           }
           function auditorias(elemento)
           {
               cargarCalendario(elemento);
               cargarAuditorias();            
           }
           
           function cargarAuditorias()
           {
               try
               {           
                   
                   var navegador = document.getElementById("navegador-fecha");    
                    
                   var mes = navegador.getAttribute('mes');
                   var anio = navegador.getAttribute('anio');
                   
                   var t_entidad = document.getElementById('t_entidad_id');
                   var entidad = t_entidad.value;
                   
                   var t_auditor = document.getElementById('t_personas_id');
                   var auditor = t_auditor.value;
                   

                   var data = "mes=" + mes + "&anio=" + anio + "&entidad=" + entidad + "&auditor=" + auditor;
                    $.ajax(
                            {
                               type: "post",
                               url: "<?php echo base_url() . 'cauditoriaCronograma/traerCronograma';?>",
                               data: data,
                               success: mostrarAuditorias
                            });
                    }
                    catch(ex)
                    {
                        alert(ex.description);
                    }
           }
           function mostrarAuditorias(ajaxResponse)
           {
               var entidades = procesarRespuesta(ajaxResponse);
               
               var navegador = document.getElementById('navegador-fecha');              
         
               var mes = navegador.getAttribute('mes');
               var cuerpo=document.getElementById("cuerpo-cronograma");               
           
               var temporal =new Date(navegador.getAttribute('anio'),navegador.getAttribute('mes'),1);
               var cantidad =0;                
               while(mes == temporal.getMonth()){
                    cantidad = cantidad + 1;
                    temporal.setDate(temporal.getDate()+1);                    
                }
                
                var anio_actual = navegador.getAttribute('anio');
                var columna;
                var fila;
                
                var entidad;
                var temp = -1;
                var ban = false;
                var arreglo= new Array();
                
                var fecha = function(fechaProgramada, estado, auditor,id_auditoria){
                        this.fechaProgramada = fechaProgramada;
                        this.estado = estado;
                        var diaTemp = parseFecha(fechaProgramada);
                        this.diaProgramado = diaTemp.getDate();
                        this.auditor = auditor;
                        this.id_auditoria=id_auditoria;
                    };
                    
                var temporal = function(id_entidad, nombre){
                    this.id_entidad = id_entidad;  
                    this.nombre = nombre;
                    this.fechas = new Array();
                };
                var objeto_arreglo;
                
                for(var y in entidades){
                    entidad = entidades[y];
                        
                    if(!ban)
                        { 
                        objeto_arreglo = new temporal(entidad.id,entidad.nombre);
                        
                         if (entidad.fecha_programada !== null) {
                               objeto_arreglo.fechas.push(new fecha(entidad.fecha_programada , entidad.t_estado_auditoria_id,entidad.auditor, entidad.id_auditoria)); 
                             }
                         arreglo.push(objeto_arreglo);                           
                         ban=true;
                         }
                    else
                        {                    
                          if(entidad.id === objeto_arreglo.id_entidad)
                                {          
//                                    objeto_arreglo.fechas.push(new fecha(entidad.fecha_programada , entidad.t_estado_auditoria_id,entidad.auditor));
                                       if (entidad.fecha_programada !== null) {
                                            objeto_arreglo.fechas.push(new fecha(entidad.fecha_programada , entidad.t_estado_auditoria_id,entidad.auditor, entidad.id_auditoria)); 
                                        }


                                 }
                           else
                                {              
                             objeto_arreglo = new temporal(entidad.id,entidad.nombre);
                             if (entidad.fecha_programada !== null) {
                                 objeto_arreglo.fechas.push(new fecha(entidad.fecha_programada , entidad.t_estado_auditoria_id,entidad.auditor, entidad.id_auditoria)); 
                                 }
                              arreglo.push(objeto_arreglo);                           
                              }
                     }
                }
                var div;
                var href;
                for(var i=0; i < arreglo.length; i++)
                    {
                        fila = document.createElement("tr");
                        fila.setAttribute("id",arreglo[i].id_entidad);
                        columna = document.createElement("td");                       

                        columna.appendChild(document.createTextNode(arreglo[i].nombre)); 
                         
                        fila.appendChild(columna);
                        var lista = arreglo[i].fechas;
                        
                        
                        for(var h=0; h < cantidad; h++){                            
                             columna = document.createElement("td");                        
                             var bandera= false;

                                        for(var e=0; e < lista.length; e++){

                                            if(lista[e].diaProgramado == (h+1)){
                                                href = document.createElement("a");
                                                href.setAttribute("href","#");
                                                div = document.createElement("div");
                                                href.appendChild(div);
                                                columna.appendChild(href);
                                                columna.setAttribute("colspan",2);
                                                columna.setAttribute("id","show-option");
                                                columna.setAttribute("title",lista[e].auditor);
                                                columna.setAttribute("r", lista[e].id_auditoria);
                                                columna.setAttribute("ondblclick","redireccionar(this)");
                                                columna.setAttribute("est",lista[e].estado);
                                             //   if(lista[e].pagado == 1){
                                             //       columna.innerHTML = "P";
                                             //   }
                                                columna.style.backgroundColor=color_estado(lista[e].estado);
                                                if(lista[e].estado==1)
                                                    columna.setAttribute("class","menu-programada");
                                                if(lista[e].estado==3)
                                                    columna.setAttribute("class","menu-realizada");
                                                if(lista[e].estado==5)
                                                    columna.setAttribute("class","menu-informada");
                                               
                                                
                                                // h = parseInt(h) + 1;

                                                bandera = true;

                                            }

                                        }

                             if(!bandera)
                             {
                                 columna.setAttribute("colspan",2);
                                 columna.setAttribute("class","libre"); 
                                 columna.setAttribute("fechaActual",((h+1) + "-" + (parseInt(mes)+1) + "-" + anio_actual));
                                 columna.setAttribute("entidad",arreglo[i].id_entidad);
                                 columna.setAttribute("ondblclick", "redireccionar(this)");
                                 columna.style.backgroundColor='#AC0000';
                                 
                             }
                             fila.appendChild(columna);
                        }
                        
                        cuerpo.appendChild(fila);
                        menucontextual();
                                    
                    }
                    
           }
           function procesarRespuesta(ajaxResponse)
            {                 
                if (typeof ajaxResponse == "string")
                    ajaxResponse = $.parseJSON(ajaxResponse);
                return ajaxResponse;
            }
           
            function cargarReservaciones(){
                try
               {             
                    var navegador = document.getElementById("navegador-fecha");    
                    
                   var mes = navegador.getAttribute('mes');
                   var anio = navegador.getAttribute('anio');
                   var data = "mes=" + mes + "&anio=" + anio;
                   
                    $.ajax(
                            {
                               type: "post",
                               url: "<?php echo base_url() . 'cauditoriaCronograma/traerCronograma';?>",
                               data:data,
                               success: reservacionescalendario
                            });
                    }
                    catch(ex)
                    {
                        alert(ex.description);
                    }
            }    
            
        </script>

<style>
    #auditoria-contenedor{
        width: 100%;
        height: 100%;
        text-align: center;        
    }
    table{
        border-collapse: collapse;
    }
    #auditoria{
        
        margin-right: auto;
        margin-left: auto;
        
    }
    #cuerpo-calendario tr td
    {
        border: 1px solid green;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
      //  font;
        cursor: pointer;
    }
    #cuerpo-calendario td{
        width: 2.125%;
        height: 22px;        
    }
    #cuerpo-cronograma tr td
    {
        border: 1px solid green;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
      //  font;
        cursor: pointer;
    }
    #cuerpo-cronograma td{
        width: 2.125%;
        height: 22px;        
    }    
    .f_mes {
        border-bottom: none;
    }
    .f_dia{
        border-top: none;
    }
    .libre:hover{
        background: #cd0a0a;
    }
    
    
</style>
 
<div id ="auditoria-contenedor">   
    <div id="navegador" >
         <table border="0" cellspacing="5" cellpadding="0" align="center" width="100%" >
            <tr>
              <td width="40%" bgcolor="#CCCCCC">REFERENCIAS:</td>
              <td width="20%" bgcolor="#3399CC" style="color: #FFFFFF">Programada</td>
              <td width="20%" bgcolor="#FFFF00" >Realizada</td>
              <td width="20%" bgcolor="#009900" style="color: #FFFFFF">Informada</td>              
            </tr> 
            </table>
            <table width="100%">
            <tr>
                <td><button id="anterior" mes ="<?php echo Date('m')-1; ?>" anio="<?php echo Date('Y') ; ?>" onclick="auditorias(this)"><<</button></td>
                <td  width="60%" ><h3 id="navegador-fecha"></h3></td>
             <td><button id="siguiente" mes ="<?php echo Date('m')-1; ?>" anio="<?php echo Date('Y') ; ?>" onclick="auditorias(this)">>></button>     </td>
            </tr>

         </table>
        
    </div>
              <div id="busqueda" align="left">
             <p>
                <label>Entidad: </label>
   
                        <select id="t_entidad_id" name="t_entidad_id" class="ui-widget-content" >
                        <option value="Todos">Todos</option> 
                               <?php foreach ($entidad as $fila)  {       ?>  
                               <option value="<?php echo $fila->id ?>"> <?php echo $fila->nombre ?> </option>                                
                           <?php     }    ?>
                    </select>
              <label>Auditor: </label>                               
                         <select id="t_personas_id" name="t_personas_id" class="ui-widget-content" >
                        <option value="Todos">Todos</option> 
                               <?php foreach ($personas as $fila)  {       ?>  
                               <option value="<?php echo $fila->id ?>"> <?php echo $fila->apellido ?> </option>                                
                           <?php     }    ?>
                </select>
                <button type="submit" value="Buscar" onclick="cargarBusqueda()">Buscar</button>
             </p>
  
            </div> 
    <table id="auditoria">
        <tbody id="cuerpo-calendario">

        </tbody>
        <tbody id="cuerpo-cronograma">

        </tbody>
    </table>    

    
    <script>
        
      
               var menu1 = [
              {'Option 1':function(menuItem,menu) { alert("You clicked Option 1!"); } },
              $.contextMenu.separator,
              {'Option 2':function(menuItem,menu) { alert("You clicked Option 2!"); } }
            ];
            $(function() {
              $('.menu').contextMenu(menu1,{theme:'vista'});
            });
       
            
        </script> 
 
       <script>
        
      function menucontextual(){
          
               var menuprogramada = [              
              {'Modificar Auditoria':function(menuItem,menu) {               
                    var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cauditoria/modificar/" + r;  
                  }                   
                },
                $.contextMenu.separator,
                {'Registrar Auditoria':function(menuItem,menu) {               
                    var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cregistroauditoria/mostrarauditoria/" + r; 
                  }                   
                },
                $.contextMenu.separator,
                {'Anular Auditoria':function(menuItem,menu) {               
                    var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cauditoria/eliminar/" + r; 
                  }                   
                }
            ];
            
            var menurealizada = [
              {'Ver Auditoria':function(menuItem,menu) {
                       var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cregistroauditoria/verauditoria/" + r;                       
                  }                   
              },
              $.contextMenu.separator,
              {'Registrar Informe':function(menuItem,menu) {               
                    var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cregistroauditoria/reginforme/" + r + "/1";  
                  }                   
                }

            ];
            
            var menuInformada = [
              {'Ver Informe':function(menuItem,menu) {
                       var r = $(this).attr("r");
                      var navegador = $("#navegador-fecha");
                      window.location.href = "<?php echo base_url();?>cregistroauditoria/reginforme/" + r +"/2";                       
                  }                   
              }
            ];
            
            $(function() {
              $('.menu-programada').contextMenu(menuprogramada,{theme:'vista'});
            });
            
             $(function() {
              $('.menu-realizada').contextMenu(menurealizada,{theme:'vista'});
            });
            
            $(function() {
              $('.menu-informada').contextMenu(menuInformada,{theme:'vista'});
            });
            
            
      }
        </script> 
    
    <script>
        $("#siguiente").click();
    </script>
       Haga click con el botón derecho del mouse para ver las opciones de la reserva. Doble click sobre la celda para cargar una reserva/ocupación.
<script>
       function cargarBusqueda()
          {
         var cuerpo=document.getElementById("cuerpo-cronograma");
        vaciar(cuerpo); 
        cargarAuditorias();
           }
 </script>
</div>
